Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(a380x/flight model): Fix pitchup and unrecoverable stall #9645

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

donstim
Copy link
Contributor

@donstim donstim commented Dec 10, 2024

Fixes #9269 and probably #9311

Summary of Changes

  • Fixes the undesired pitchup and unrecoverable stall behavior
  • Improves pitch response in manual flying
  • Potentially improves roll control associated with some of the comments on FlyByWire A380X randomly giving inputs and ignoring Sidestick Inputs #9235 (rolling back against the initial input)
  • Partial fix for autorotation (Nose wheel can still unweight early, but airplane should not lift off before rotation speed)
  • Reduced the gear drag, which I felt was much too high
  • Tried to match the flaps up drag level of the previous flight model for lift coefficients between 0.3 and 0.7 so as not to impact PR fix(a380x/flightmodel): adjust climb performance #9358. May need to iterate further on this.

Screenshots (if necessary)

References

Additional context

The stall angle-of-attack has been increased from 15 degrees to 18 degrees. At some point, the alpha-stall related envelope protection and PFD indications should be updated.

The takeoff rotation law needs further adaptation for the A380X and these/future flight model changes. At heavier weights with the current rotation law, be aware that more back stick will be needed to allow the airplane to fly away. At mid to heavier weights, the stick should not be released for 3-4 seconds (or until 100 ft RA is reached) or the airplane's pitch angle and flight path may drop. This is more pronounced on CONF 1+F than on CONF 2 or 3. (Testing included an anticipated MTOW of 575 T. The takeoff rotation law should be updated before the MTOW is increased from the current 510 T.)

Discord username (if different from GitHub): donbikes

Testing instructions

Takeoffs, full flights, and landings at light, medium, and heavy weights (within the A380X's takeoff and landing weight limits). In flight max pitch ups and recoveries.

How to download the PR for QA

Every new commit to this PR will cause new A32NX and A380X artifacts to be created, built, and uploaded.

  1. Make sure you are signed in to GitHub
  2. Click on the Checks tab on the PR
  3. On the left side, find and click on the PR Build tab
  4. Click on either flybywire-aircraft-a320-neo, flybywire-aircraft-a380-842 (4K) or flybywire-aircraft-a380-842 (8K) download link at the bottom of the page

@aadee9940
Copy link

Tested at various gross weights ranging from 350-575tons, it is pretty consistent all round, and there is enough elevator authority for me to push down on the stick and the aircraft reacts accordingly. A.Floor works as it should as well.

No more of the continuous pitch up moment, I can recover safely while in the amber speed band range.

@Benjozork Benjozork added A380X Related to the A380X aircraft Flight Model Anything thats related to the planes performance regarding aerodynamics etc. labels Dec 12, 2024
@mattking247
Copy link

Quality Assurance Tester Trainee Report

Discord Username : Matt
Object of testing : #9645
Aircraft : A380X
Tier of Testing : 1
Date : 12/12/2024

Testing Process:
Full flight OMDB - EGLL, full departure from OMDB Rwy 30R with calm weather.

Notes:
500 tonnes at take off.

Flight notes:
Test flight complete and then several descents, climbs, turns and configuration changes were performed.

The aircraft flies pretty much as expected in roll. However, when returning the stick to neutral, there was a slight roll back in the opposite direction. For example, after completing a 25 degree bank to the right, I rolled out to the left to return to a wings level attitude at a normal roll rate. On reaching wings level, I released the stick and the aircraft rolled slightly back to the right. I think this feels like it may just be a slight over correction to stopping the role rate. Overall though, not bad at all.

The elevator and pitch is where most work needs to be completed. The aircraft nose does not stop moving in the direction of travel once the stick is returned to neutral. An example of this, aircraft level at 5,000 ft AGL, over the sea on a calm day. Nose raised to 15 degrees nose up at 250 kts. Side stick was then moved forward to lower the nose at a similar rate to that on take off, but in the opposite direction. On releasing the stick at 5 degrees nose up, the nose continues to track down until roughly 10 degrees nose down. This still happens at higher speed, but is less pronounced. When configured for landing and on approach the same thing happens. I watched the flight control page during these manoeuvres and it seems like the elevator is slow to return to the neutral position when released. The elevator still be in the down position is then driving the nose to continue downwards. It does affect nose pitch up also, but not as much. Could not replicate on the ground due to different flight control logic. Connected to this, it feels on approach like the nose always wants to pitch down subtly, and I felt like I was constantly trying to raise the nose.

Overall, I think the aileron response was pretty close to expected, elevator still not so much. However, I was able to use the deflection authority available to counter the nose up pitching tendency.

@donstim
Copy link
Contributor Author

donstim commented Dec 13, 2024

Quality Assurance Tester Trainee Report

Discord Username : Matt Object of testing : #9645 Aircraft : A380X Tier of Testing : 1 Date : 12/12/2024

Thank you for your test and detailed report. Keep in mind that this PR is intended to fix the unrecoverable stall issue. It does not fix existing issues with the FBW control system, for example, the roll "rebound." I tried to reduce that effect but it is not caused by and cannot be eliminated by the flight model.

Having said that, I cannot reproduce the pitch issues you described. Would you be able to provide videos of these issues? Here is my attempt at reproducing the pitch up to 15 degrees at 5000 feet, 500 T, 250 KCAS, then pitching down to 5 deg NU and releasing the stick. You can see that in my video, although there is some oscillation and the final settled out pitch value is less than 5 degrees NU, it comes nowhere close to 10 deg ND. https://1drv.ms/v/s!Ajsy7Ey4_8uFgZdBf70oLghQNRY2NA?e=caMmRA

For the approach, I flew the same maneuver, then performed several small pitch adjustments in CONF FULL, starting at approx -3 deg FPA, VAPP at around 320 T. No issues with the pitch up, then down maneuver, and it was very stable in pitch after making any pitch adjustments. https://1drv.ms/v/s!Ajsy7Ey4_8uFgZdCxx2OWj7FSiGbDQ?e=8jBEA1

I've flown a lot of approaches and landings while developing this PR and never did I feel that I was constantly trying to raise the nose. One example: https://1drv.ms/v/s!Ajsy7Ey4_8uFgZdDWInA5c5L0vKPjg?e=SIko8u. Pitch is rock steady on this mock approach over the water (other than the one adjustment I made when I realized the descent rate was too high). Are you maybe seeing wind changes or turbulence?

As a result of your comment, though, I did go through the PR again and found I had neglected to include some changes that were in my test version as well as correcting one (important from a stall avoidance standpoint) typo. None of these should have had any impact on what you reported, and the videos above were made without those corrections.

@mattking247
Copy link

mattking247 commented Dec 13, 2024

Thanks for looking at this. I completely get the slightly out of scope test comments, but thought I would link it in as the test mentioned flight controls and improving them. The only videos I have to hand are these. In each video, I completely remove my hand from the stick, returning it to neutral each time.

You will see in the first one, the nose falling around the 18 second mark and my hand in the screen to show it is not still on the stick. The speed seems a little low, but I this was aircraft controlled with autothrottle on and speed managed. I tried again after adding 5 and then 10 knots and same thing.

IMG_4991.mov

The second movie shows how long it takes the elevator to go back to neutral once the stick is released. It is a large flight control I know, but this seems way to long for some of the surface to still be moving, even with dampening.

IMG_5001.mov

This third video shows the nose stopping from lowering as i remove my and and then falling again

IMG_4996.mov

Let me know your thoughts, and if you need me to try and take more later. Thank you.

@donstim
Copy link
Contributor Author

donstim commented Dec 13, 2024

I wonder if you have an issue with your controller in that it is still sending an input after you take your hand off? Either that or your fps is low? For example, does your controller have a strong centering spring where it will hold a position like a rock when you let go? It does take time, but only about a second, for the elevators to respond to a stick input (unaffected by this PR), but the continued pitching down for 5-6 seconds after removing the input should not be occurring (and doesn't for me).

Here is a video of a series of step inputs where you can see the joystick display of the inputs in addition to the elevator deflection and airplane pitch reaction. It takes about a second for the elevators to respond to the abrupt inputs to which the airplane responds very quickly. The pitch angle may not stabilize for a second or two after the input is released depending on the abruptness of the input and release, but then will remain stabilized. https://1drv.ms/v/s!Ajsy7Ey4_8uFgZdEHRuxF5dPojt-Mg?e=EQgVQD

This PR should not affect the response time of the elevators to an input, but it should shorten the response time of the airplane to the elevator deflection change. Does the behavior you are experiencing also occur on the current dev version of the airplane or only when using this PR? I would be very surprised if it is only that way when using this PR. If it also occurs on the current dev version, could you open an issue on it rather than continuing the discussion here? That way the proper devs can take a look, and it would not hold up this PR. Thanks.

@donstim
Copy link
Contributor Author

donstim commented Dec 14, 2024

Hey, I was finally able to reproduce your issue. It took "harder" inputs and releases on my controller without trying to come to a smooth release. Anyway, once I found out how to do it, I could do it on both the pre-PR and PR versions. This confirms to me that the PR did not cause this.

@mattking247
Copy link

mattking247 commented Dec 14, 2024

Hi, thank you for looking into this. Apologies for the late reply, just got back home. I can confirm now this was not just this PR. I am, however, glad you could reproduce it. I thought I was going crazy, as no one else seems to have seen it before! So it is an issue? Apologies for getting the wrong end of the stick and holding up your PR.

Matt.

@donstim
Copy link
Contributor Author

donstim commented Dec 14, 2024

No problem. It didn't hold anything up, and it resulted in not only a good discussion on a current issue with the airplane, but also led me to find and correct some mistakes I'd made in this PR. Thanks again for the testing and detailed descriptions of what you encountered.

@flogross89
Copy link
Contributor

@donstim Thanks a lot for these changes. Gave her a quick spin, feels lovely so far.

  • Uncontrollable pitch-up and stall behavior seems to be fixed or at least largely improved, I couldn't provoke it in any way
  • Auto-rotation on takeoff also seems improved, weight on nose wheel definitely larger for speeds until V2
  • Opposite aileron movement when ending turn also seems to be gone, but at the same time the roll behavior seems a bit sluggish --> This is something which can and should be fixed in the FBW laws after this PR.

The flight envelope protections can be easily adapted, it's just important to know in which manner the angles should be changed (fixed scale on all angles, or only adaption of the upper third, ...)

@donstim
Copy link
Contributor Author

donstim commented Dec 20, 2024

The flight envelope protections can be easily adapted, it's just important to know in which manner the angles should be changed (fixed scale on all angles, or only adaption of the upper third, ...)

I'm unsure what you mean by all angles vs upper third... May be my lack of understanding of how it's coded. The aoa associated with both the alpha max and alpha protection functions can be increased (which would lower the associated speeds shown on the PFD) for those functions. It would take tuning to ensure that the stall aoa is not exceeded during a high rate full back stick maneuver, but I would think that a 1-2 degree increase in aoa would be reasonable.

I think a bigger issue with the PFD indications of the alpha protection and alpha max speeds is that in the A380X they seem to be based on the FMS input ZFW+FOB. That is not the case on the real airplane where they are based on an aerodynamically determined weight. We should be using the real weight of the airplane rather than FMS input ZFW+FOB (although I have to admit the way it is done currently is nice for my testing in that I can vary the alph prot/alpha max PFD speeds by simply changing the FMS input ZFW.)

@flogross89
Copy link
Contributor

flogross89 commented Dec 20, 2024

@donstim
alpha_max and alpha_prot are not a constant value, but different for each flap config and mach speed (I suppose this allows for a more fine-grained control of protection behavior for different regimes).

For example, alpha_max has the following lookup table:
image
Dimension 1 = mach
Dimension 2 = flap config (0, 1, 1+F, 2, 3, FULL)

So my question is, whether we should modify all of these angles, or only some of them.

alpha_0 is only depending on flap conf:
image

The alpha protection speeds are not based on any weights, where did you get that impression? VLS and the characteristic speeds (green dot, F+S speeds) on the other hand are depending on the FMS ZFW + FQMS FOB, as the real example

@donstim
Copy link
Contributor Author

donstim commented Dec 20, 2024

@flogross89 How about we park this conversation here and continue on Discord. I'm going to look at simplifying this PR and take out the stall AOA change so the protection values can be changed at the same time if we decide to go that route at all.

@flogross89
Copy link
Contributor

@donstim Sure!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A380X Related to the A380X aircraft Flight Model Anything thats related to the planes performance regarding aerodynamics etc.
Projects
Status: 🟣 QA Review: Ready to Test
Development

Successfully merging this pull request may close these issues.

Unrecoverable stall + flight controls frozen during takeoff
6 participants